package com.mimosa.util.extract;

import java.util.Arrays;
import java.util.Collection;

import org.apache.commons.lang3.StringUtils;

import com.mimosa.util.constant.StringConstUtil;

/**
 * 抽取器的基本类
 * 
 * @filename Extractor.java
 * @datetime 2013年9月6日 下午5:20:05
 * @author ggeagle
 * 
 */
public abstract class Extractor {
	/**
	 * 对文本进行文本抽取处理
	 * 
	 * @param inputText
	 * @return
	 */
	public abstract Collection<ExtractHit> extract(String inputText);

	/**
	 * 根据字典信息初始化抽取器
	 * 
	 * @param entityList
	 */
	public abstract void createByDicSettingEntity(Collection<String> entityList);

	/**
	 * 据据字符串常量信息初始化字典树
	 * 
	 * @param wordValues
	 *            用逗号分隔的字符串列表
	 */
	public void createByDicSettingEntity(String wordValues) {
		if (StringUtils.isNotBlank(wordValues)) {
			String[] values = wordValues.split(StringConstUtil.COMMA);
			createByDicSettingEntity(Arrays.asList(values));
		}
	}

	/**
	 * 清除已设置的抽取规则信息
	 */
	public abstract void clear();
}